<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="http://www.opengis.net/sld" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ogc="http://www.opengis.net/ogc" xmlns:sld="http://www.opengis.net/sld" elementFormDefault="qualified" version="1.0.0 2010-02-01">
	
	<xsd:import namespace="http://www.w3.org/1999/xlink" schemaLocation="../../../w3c/1999/xlink.xsd"/>
	<xsd:import namespace="http://www.opengis.net/ogc" schemaLocation="http://schemas.opengis.net/filter/1.0.0/filter.xsd"/>
	<!-- *********************************************************************** -->
	<xsd:annotation>
		<xsd:documentation>
      STYLED LAYER DESCRIPTOR version 1.0.0 (2010-02-01)
      
      SLD is an OGC Standard.
      Copyright (c) 2001,2010 Open Geospatial Consortium, Inc. All Rights Reserved.
      To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
		</xsd:documentation>
	</xsd:annotation>
	<xsd:element name="StyledLayerDescriptor">
		<xsd:annotation>
			<xsd:documentation>
        A StyledLayerDescriptor is a sequence of styled layers, represented
        at the first level by NamedLayer and UserLayer elements.
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="sld:Name" minOccurs="0"/>
				<xsd:element ref="sld:Title" minOccurs="0"/>
				<xsd:element ref="sld:Abstract" minOccurs="0"/>
				<xsd:choice minOccurs="0" maxOccurs="unbounded">
					<xsd:element ref="sld:NamedLayer"/>
					<xsd:element ref="sld:UserLayer"/>
				</xsd:choice>
			</xsd:sequence>
			<xsd:attribute name="version" type="xsd:string" use="required" fixed="1.0.0"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Name" type="xsd:string"/>
	<xsd:element name="Title" type="xsd:string"/>
	<xsd:element name="Abstract" type="xsd:string"/>
	<!-- *********************************************************************** -->
	<xsd:annotation>
		<xsd:documentation>
      LAYERS AND STYLES
    </xsd:documentation>
	</xsd:annotation>
	<xsd:element name="NamedLayer">
		<xsd:annotation>
			<xsd:documentation>
        A NamedLayer is a layer of data that has a name advertised by a WMS.
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="sld:Name"/>
				<xsd:element ref="sld:LayerFeatureConstraints" minOccurs="0"/>
				<xsd:choice minOccurs="0" maxOccurs="unbounded">
					<xsd:element ref="sld:NamedStyle"/>
					<xsd:element ref="sld:UserStyle"/>
				</xsd:choice>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="NamedStyle">
		<xsd:annotation>
			<xsd:documentation>
        A NamedStyle is used to refer to a style that has a name in a WMS.
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="sld:Name"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="UserLayer">
		<xsd:annotation>
			<xsd:documentation>
        A UserLayer allows a user-defined layer to be built from WFS and
        WCS data.
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="sld:Name" minOccurs="0"/>
				<xsd:element ref="sld:RemoteOWS" minOccurs="0"/>
				<xsd:element ref="sld:LayerFeatureConstraints"/>
				<xsd:element ref="sld:UserStyle" maxOccurs="unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="RemoteOWS">
		<xsd:annotation>
			<xsd:documentation>
        A RemoteOWS gives a reference to a remote WFS/WCS/other-OWS server. 
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="sld:Service"/>
				<xsd:element ref="sld:OnlineResource"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Service">
		<xsd:annotation>
			<xsd:documentation>
        A Service refers to the type of a remote OWS server.
      </xsd:documentation>
		</xsd:annotation>
		<xsd:simpleType>
			<xsd:restriction base="xsd:string">
				<xsd:enumeration value="WFS"/>
				<xsd:enumeration value="WCS"/>
			</xsd:restriction>
		</xsd:simpleType>
	</xsd:element>
	<xsd:element name="OnlineResource">
		<xsd:annotation>
			<xsd:documentation>
        An OnlineResource is typically used to refer to an HTTP URL.
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:attributeGroup ref="xlink:simpleAttrs"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="LayerFeatureConstraints">
		<xsd:annotation>
			<xsd:documentation>
        LayerFeatureConstraints define what features &amp; feature types are
        referenced in a layer.
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="sld:FeatureTypeConstraint" maxOccurs="unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="FeatureTypeConstraint">
		<xsd:annotation>
			<xsd:documentation>
        A FeatureTypeConstraint identifies a specific feature type and
        supplies fitlering.
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="sld:FeatureTypeName" minOccurs="0"/>
				<xsd:element ref="ogc:Filter" minOccurs="0"/>
				<xsd:element ref="sld:Extent" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="FeatureTypeName" type="xsd:string"/>
	<xsd:element name="Extent">
		<xsd:annotation>
			<xsd:documentation>
        An Extent gives feature/coverage/raster/matrix dimension extent. 
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="sld:Name"/>
				<xsd:element ref="sld:Value"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Value" type="xsd:string"/>
	<xsd:element name="UserStyle">
		<xsd:annotation>
			<xsd:documentation>
        A UserStyle allows user-defined styling and is semantically
        equivalent to a WMS named style.
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="sld:Name" minOccurs="0"/>
				<xsd:element ref="sld:Title" minOccurs="0"/>
				<xsd:element ref="sld:Abstract" minOccurs="0"/>
				<xsd:element ref="sld:IsDefault" minOccurs="0"/>
				<xsd:element ref="sld:FeatureTypeStyle" maxOccurs="unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="IsDefault" type="xsd:boolean"/>
	<!-- *********************************************************************** -->
	<xsd:annotation>
		<xsd:documentation>
      FEATURE-TYPE STYLING
    </xsd:documentation>
	</xsd:annotation>
	<xsd:element name="FeatureTypeStyle">
		<xsd:annotation>
			<xsd:documentation>
      A FeatureTypeStyle contains styling information specific to one
      feature type.  This is the SLD level that separates the 'layer'
      handling from the 'feature' handling.
    </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="sld:Name" minOccurs="0"/>
				<xsd:element ref="sld:Title" minOccurs="0"/>
				<xsd:element ref="sld:Abstract" minOccurs="0"/>
				<xsd:element ref="sld:FeatureTypeName" minOccurs="0"/>
				<xsd:element ref="sld:SemanticTypeIdentifier" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="sld:Rule" maxOccurs="unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="SemanticTypeIdentifier" type="xsd:string"/>
	<xsd:element name="Rule">
		<xsd:annotation>
			<xsd:documentation>
        A Rule is used to attach property/scale conditions to and group
        the individual symbolizers used for rendering.
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="sld:Name" minOccurs="0"/>
				<xsd:element ref="sld:Title" minOccurs="0"/>
				<xsd:element ref="sld:Abstract" minOccurs="0"/>
				<xsd:element ref="sld:LegendGraphic" minOccurs="0"/>
				<xsd:choice minOccurs="0">
					<xsd:element ref="ogc:Filter"/>
					<xsd:element ref="sld:ElseFilter"/>
				</xsd:choice>
				<xsd:element ref="sld:MinScaleDenominator" minOccurs="0"/>
				<xsd:element ref="sld:MaxScaleDenominator" minOccurs="0"/>
				<xsd:element ref="sld:Symbolizer" maxOccurs="unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="LegendGraphic">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="sld:Graphic"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="ElseFilter">
		<xsd:complexType/>
	</xsd:element>
	<xsd:element name="MinScaleDenominator" type="xsd:double"/>
	<xsd:element name="MaxScaleDenominator" type="xsd:double"/>
	<!-- *********************************************************************** -->
	<xsd:annotation>
		<xsd:documentation>
      SYMBOLIZERS
    </xsd:documentation>
	</xsd:annotation>
	<xsd:element name="Symbolizer" type="sld:SymbolizerType" abstract="true"/>
	<xsd:complexType name="SymbolizerType" abstract="true">
		<xsd:annotation>
			<xsd:documentation>
        A "SymbolizerType" is an abstract type for encoding the graphical
        properties used to portray geographic information.  Concrete symbol
        types are derived from this base type.
      </xsd:documentation>
		</xsd:annotation>
	</xsd:complexType>
	<!-- *********************************************************************** -->
	<xsd:annotation>
		<xsd:documentation>
      LINE SYMBOLIZER
    </xsd:documentation>
	</xsd:annotation>
	<xsd:element name="LineSymbolizer" substitutionGroup="sld:Symbolizer">
		<xsd:annotation>
			<xsd:documentation>
        A LineSymbolizer is used to render a "stroke" along a linear geometry.
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="sld:SymbolizerType">
					<xsd:sequence>
						<xsd:element ref="sld:Geometry" minOccurs="0"/>
						<xsd:element ref="sld:Stroke" minOccurs="0"/>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Geometry">
		<xsd:annotation>
			<xsd:documentation>
        A Geometry gives reference to a (the) geometry property of a
        feature to be used for rendering.
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="ogc:PropertyName"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Stroke">
		<xsd:annotation>
			<xsd:documentation>
        A "Stroke" specifies the appearance of a linear geometry.  It is
        defined in parallel with SVG strokes.  The following CssParameters
        may be used: "stroke" (color), "stroke-opacity", "stroke-width",
        "stroke-linejoin", "stroke-linecap", "stroke-dasharray", and
        "stroke-dashoffset".
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:choice minOccurs="0">
					<xsd:element ref="sld:GraphicFill"/>
					<xsd:element ref="sld:GraphicStroke"/>
				</xsd:choice>
				<xsd:element ref="sld:CssParameter" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="CssParameter">
		<xsd:annotation>
			<xsd:documentation>
        A "CssParameter" refers to an SVG/CSS graphical-formatting
        parameter.  The parameter is identified using the "name" attribute
        and the content of the element gives the SVG/CSS-coded value.
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType mixed="true">
			<xsd:complexContent mixed="true">
				<xsd:extension base="sld:ParameterValueType">
					<xsd:attribute name="name" type="xsd:string" use="required"/>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="ParameterValueType" mixed="true">
		<xsd:annotation>
			<xsd:documentation>
        The "ParameterValueType" uses WFS-Filter expressions to give
        values for SLD graphic parameters.  A "mixed" element-content
        model is used with textual substitution for values.
      </xsd:documentation>
		</xsd:annotation>
		<xsd:sequence minOccurs="0" maxOccurs="unbounded">
			<xsd:element ref="ogc:expression"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="GraphicFill">
		<xsd:annotation>
			<xsd:documentation>
        A "GraphicFill" defines repeated-graphic filling (stippling)
        pattern for an area geometry.
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="sld:Graphic"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="GraphicStroke">
		<xsd:annotation>
			<xsd:documentation>
        A "GraphicStroke" defines a repated-linear graphic pattern to be used
        for stroking a line.
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="sld:Graphic"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<!-- *********************************************************************** -->
	<xsd:annotation>
		<xsd:documentation>
      POLYGON SYMBOLIZER
    </xsd:documentation>
	</xsd:annotation>
	<xsd:element name="PolygonSymbolizer" substitutionGroup="sld:Symbolizer">
		<xsd:annotation>
			<xsd:documentation>
        A "PolygonSymbolizer" specifies the rendering of a polygon or
        area geometry, including its interior fill and border stroke.
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="sld:SymbolizerType">
					<xsd:sequence>
						<xsd:element ref="sld:Geometry" minOccurs="0"/>
						<xsd:element ref="sld:Fill" minOccurs="0"/>
						<xsd:element ref="sld:Stroke" minOccurs="0"/>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Fill">
		<xsd:annotation>
			<xsd:documentation>
        A "Fill" specifies the pattern for filling an area geometry.
        The allowed CssParameters are: "fill" (color) and "fill-opacity".
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="sld:GraphicFill" minOccurs="0"/>
				<xsd:element ref="sld:CssParameter" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<!-- *********************************************************************** -->
	<xsd:annotation>
		<xsd:documentation>
      POINT SYMBOLIZER
    </xsd:documentation>
	</xsd:annotation>
	<xsd:element name="PointSymbolizer" substitutionGroup="sld:Symbolizer">
		<xsd:annotation>
			<xsd:documentation>
        A "PointSymbolizer" specifies the rendering of a "graphic symbol"
        at a point.
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="sld:SymbolizerType">
					<xsd:sequence>
						<xsd:element ref="sld:Geometry" minOccurs="0"/>
						<xsd:element ref="sld:Graphic" minOccurs="0"/>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Graphic">
		<xsd:annotation>
			<xsd:documentation>
        A "Graphic" specifies or refers to a "graphic symbol" with inherent
        shape, size, and coloring.
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:choice minOccurs="0" maxOccurs="unbounded">
					<xsd:element ref="sld:ExternalGraphic"/>
					<xsd:element ref="sld:Mark"/>
				</xsd:choice>
				<xsd:sequence>
					<xsd:element ref="sld:Opacity" minOccurs="0"/>
					<xsd:element ref="sld:Size" minOccurs="0"/>
					<xsd:element ref="sld:Rotation" minOccurs="0"/>
				</xsd:sequence>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Opacity" type="sld:ParameterValueType"/>
	<xsd:element name="Size" type="sld:ParameterValueType"/>
	<xsd:element name="Rotation" type="sld:ParameterValueType"/>
	<xsd:element name="ExternalGraphic">
		<xsd:annotation>
			<xsd:documentation>
        An "ExternalGraphic" gives a reference to an external raster or
        vector graphical object.
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="sld:OnlineResource"/>
				<xsd:element ref="sld:Format"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Format" type="xsd:string"/>
	<xsd:element name="Mark">
		<xsd:annotation>
			<xsd:documentation>
        A "Mark" specifies a geometric shape and applies coloring to it.
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="sld:WellKnownName" minOccurs="0"/>
				<xsd:element ref="sld:Fill" minOccurs="0"/>
				<xsd:element ref="sld:Stroke" minOccurs="0"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="WellKnownName" type="xsd:string"/>
	<!-- *********************************************************************** -->
	<xsd:annotation>
		<xsd:documentation>
      TEXT SYMBOLIZER
    </xsd:documentation>
	</xsd:annotation>
	<xsd:element name="TextSymbolizer" substitutionGroup="sld:Symbolizer">
		<xsd:annotation>
			<xsd:documentation>
        A "TextSymbolizer" is used to render text labels according to
        various graphical parameters.
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="sld:SymbolizerType">
					<xsd:sequence>
						<xsd:element ref="sld:Geometry" minOccurs="0"/>
						<xsd:element ref="sld:Label" minOccurs="0"/>
						<xsd:element ref="sld:Font" minOccurs="0"/>
						<xsd:element ref="sld:LabelPlacement" minOccurs="0"/>
						<xsd:element ref="sld:Halo" minOccurs="0"/>
						<xsd:element ref="sld:Fill" minOccurs="0"/>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Label" type="sld:ParameterValueType">
		<xsd:annotation>
			<xsd:documentation>
        A "Label" specifies the textual content to be rendered.
      </xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="Font">
		<xsd:annotation>
			<xsd:documentation>
        A "Font" element specifies the text font to use.  The allowed
        CssParameters are: "font-family", "font-style", "font-weight",
        and "font-size".
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="sld:CssParameter" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="LabelPlacement">
		<xsd:annotation>
			<xsd:documentation>
        The "LabelPlacement" specifies where and how a text label should
        be rendered relative to a geometry.  The present mechanism is
        poorly aligned with CSS/SVG.
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:choice>
				<xsd:element ref="sld:PointPlacement"/>
				<xsd:element ref="sld:LinePlacement"/>
			</xsd:choice>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="PointPlacement">
		<xsd:annotation>
			<xsd:documentation>
        A "PointPlacement" specifies how a text label should be rendered
        relative to a geometric point.
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="sld:AnchorPoint" minOccurs="0"/>
				<xsd:element ref="sld:Displacement" minOccurs="0"/>
				<xsd:element ref="sld:Rotation" minOccurs="0"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="AnchorPoint">
		<xsd:annotation>
			<xsd:documentation>
        An "AnchorPoint" identifies the location inside of a text label to
        use an an 'anchor' for positioning it relative to a point geometry.
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="sld:AnchorPointX"/>
				<xsd:element ref="sld:AnchorPointY"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="AnchorPointX" type="sld:ParameterValueType"/>
	<xsd:element name="AnchorPointY" type="sld:ParameterValueType"/>
	<xsd:element name="Displacement">
		<xsd:annotation>
			<xsd:documentation>
        A "Displacement" gives X and Y offset displacements to use for
        rendering a text label near a point.
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="sld:DisplacementX"/>
				<xsd:element ref="sld:DisplacementY"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="DisplacementX" type="sld:ParameterValueType"/>
	<xsd:element name="DisplacementY" type="sld:ParameterValueType"/>
	<xsd:element name="LinePlacement">
		<xsd:annotation>
			<xsd:documentation>
        A "LinePlacement" specifies how a text label should be rendered
        relative to a linear geometry.
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="sld:PerpendicularOffset" minOccurs="0"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="PerpendicularOffset" type="sld:ParameterValueType">
		<xsd:annotation>
			<xsd:documentation>
        A "PerpendicularOffset" gives the perpendicular distance away
        from a line to draw a label.
      </xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:element name="Halo">
		<xsd:annotation>
			<xsd:documentation>
        A "Halo" fills an extended area outside the glyphs of a rendered
        text label to make the label easier to read over a background.
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="sld:Radius" minOccurs="0"/>
				<xsd:element ref="sld:Fill" minOccurs="0"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Radius" type="sld:ParameterValueType"/>
	<!-- *********************************************************************** -->
	<xsd:annotation>
		<xsd:documentation>
      RASTER SYMBOLIZER
    </xsd:documentation>
	</xsd:annotation>
	<xsd:element name="RasterSymbolizer" substitutionGroup="sld:Symbolizer">
		<xsd:annotation>
			<xsd:documentation>
        A "RasterSymbolizer" is used to specify the rendering of raster/
        matrix-coverage data (e.g., satellite images, DEMs).
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="sld:SymbolizerType">
					<xsd:sequence>
						<xsd:element ref="sld:Geometry" minOccurs="0"/>
						<xsd:element ref="sld:Opacity" minOccurs="0"/>
						<xsd:element ref="sld:ChannelSelection" minOccurs="0"/>
						<xsd:element ref="sld:OverlapBehavior" minOccurs="0"/>
						<xsd:element ref="sld:ColorMap" minOccurs="0"/>
						<xsd:element ref="sld:ContrastEnhancement" minOccurs="0"/>
						<xsd:element ref="sld:ShadedRelief" minOccurs="0"/>
						<xsd:element ref="sld:ImageOutline" minOccurs="0"/>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="ChannelSelection">
		<xsd:annotation>
			<xsd:documentation>
        "ChannelSelection" specifies the false-color channel selection
        for a multi-spectral raster source.
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:choice>
				<xsd:sequence>
					<xsd:element ref="sld:RedChannel"/>
					<xsd:element ref="sld:GreenChannel"/>
					<xsd:element ref="sld:BlueChannel"/>
				</xsd:sequence>
				<xsd:element ref="sld:GrayChannel"/>
			</xsd:choice>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="RedChannel" type="sld:SelectedChannelType"/>
	<xsd:element name="GreenChannel" type="sld:SelectedChannelType"/>
	<xsd:element name="BlueChannel" type="sld:SelectedChannelType"/>
	<xsd:element name="GrayChannel" type="sld:SelectedChannelType"/>
	<xsd:complexType name="SelectedChannelType">
		<xsd:sequence>
			<xsd:element ref="sld:SourceChannelName"/>
			<xsd:element ref="sld:ContrastEnhancement" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="SourceChannelName" type="xsd:string"/>
	<xsd:element name="OverlapBehavior">
		<xsd:annotation>
			<xsd:documentation>
        "OverlapBehavior" tells a system how to behave when multiple
        raster images in a layer overlap each other, for example with
        satellite-image scenes.
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:choice>
				<xsd:element ref="sld:LATEST_ON_TOP"/>
				<xsd:element ref="sld:EARLIEST_ON_TOP"/>
				<xsd:element ref="sld:AVERAGE"/>
				<xsd:element ref="sld:RANDOM"/>
			</xsd:choice>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="LATEST_ON_TOP">
		<xsd:complexType/>
	</xsd:element>
	<xsd:element name="EARLIEST_ON_TOP">
		<xsd:complexType/>
	</xsd:element>
	<xsd:element name="AVERAGE">
		<xsd:complexType/>
	</xsd:element>
	<xsd:element name="RANDOM">
		<xsd:complexType/>
	</xsd:element>
	<xsd:element name="ColorMap">
		<xsd:annotation>
			<xsd:documentation>
        A "ColorMap" defines either the colors of a pallet-type raster
        source or the mapping of numeric pixel values to colors.
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:choice minOccurs="0" maxOccurs="unbounded">
				<xsd:element ref="sld:ColorMapEntry"/>
			</xsd:choice>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="ColorMapEntry">
		<xsd:complexType>
			<xsd:attribute name="color" type="xsd:string" use="required"/>
			<xsd:attribute name="opacity" type="xsd:double"/>
			<xsd:attribute name="quantity" type="xsd:double"/>
			<xsd:attribute name="label" type="xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="ContrastEnhancement">
		<xsd:annotation>
			<xsd:documentation>
        "ContrastEnhancement" defines the 'stretching' of contrast for a
        channel of a false-color image or for a whole grey/color image.
        Contrast enhancement is used to make ground features in images
        more visible.
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:choice minOccurs="0">
					<xsd:element ref="sld:Normalize"/>
					<xsd:element ref="sld:Histogram"/>
				</xsd:choice>
				<xsd:element ref="sld:GammaValue" minOccurs="0"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Normalize">
		<xsd:complexType/>
	</xsd:element>
	<xsd:element name="Histogram">
		<xsd:complexType/>
	</xsd:element>
	<xsd:element name="GammaValue" type="xsd:double"/>
	<xsd:element name="ShadedRelief">
		<xsd:annotation>
			<xsd:documentation>
        "ShadedRelief" specifies the application of relief shading
        (or "hill shading") to a DEM raster to give it somewhat of a
        three-dimensional effect and to make elevation changes more
        visible.
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="sld:BrightnessOnly" minOccurs="0"/>
				<xsd:element ref="sld:ReliefFactor" minOccurs="0"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="BrightnessOnly" type="xsd:boolean"/>
	<xsd:element name="ReliefFactor" type="xsd:double"/>
	<xsd:element name="ImageOutline">
		<xsd:annotation>
			<xsd:documentation>
        "ImageOutline" specifies how individual source rasters in
        a multi-raster set (such as a set of satellite-image scenes)
        should be outlined to make the individual-image locations visible.
      </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:choice>
				<xsd:element ref="sld:LineSymbolizer"/>
				<xsd:element ref="sld:PolygonSymbolizer"/>
			</xsd:choice>
		</xsd:complexType>
	</xsd:element>
</xsd:schema>
